package com.mall.b2c.template.method;

import com.mall.common.util.SpringUtils;
import freemarker.template.SimpleScalar;
import freemarker.template.TemplateMethodModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class MessageMethod implements TemplateMethodModel {

    public Object exec(List arguments) {
        if (arguments != null && !arguments.isEmpty() && arguments.get(0) != null &&
                StringUtils.isNotEmpty(arguments.get(0).toString())) {
            String s = null;
            String s1 = arguments.get(0).toString();
            if (arguments.size() > 1) {
                Object aobj[] = arguments.subList(1, arguments.size()).toArray();
                s = SpringUtils.getMessage(s1, aobj);
            } else {
                s = SpringUtils.getMessage(s1, new Object[]{});
            }
            return new SimpleScalar(s);
        } else {
            return null;
        }
    }

}
